【技术视界】第21期:IOS/Android设备GPS定位点和基站原始数据解析
一、GPS定位和LBS基站定位是手机定位数据主要来源
在IOS、Android的智能设备当中,很多应用都会定位用户当前所在位置,如天气预报、城市问候语、地图软件、社交软件等,这些应用大都采用GPS和LBS基站进行定位,当然还有的采取是WiFi、A-GPS、GPS-one等进行定位。手机定位数据在应用的本地App位置中有所保存,有些也可能保存到应用云服务器上。针对手机取证而言,主要从本地App文件中提取地理位置信息。
二、5种常见手机定位数据源及分析方法
GPS定位和LBS基站定位是手机定位数据主要来源,根据不同手机应用,具体又表现为多种不同形式手机数据源,以下为5种常见手机定位数据源及分析方法:
针对简易xml,通过字段名可以清晰分析出经度\纬度及时间信息。如图1所示,msc.lat即纬度= 30.572313,msc.lng即经度= 104.06245,location_last_update即时间,1459495885804是Unix时间戳,转化为UTC时间为2016/4/1 15:31:25。
txt .log .ini等APP日志文件里的日志数据具有一定格式,检索定位数据可以采用一定算法的正则表达式。如图2所示,GPS定位数据中的atitude = 30.570579即为纬度,longitude = 104.063774即经度,时间为2015/7/15 17:46:20。
log.log日志为Android特有的设备日志,含有基站定位数据。其中,CellIdentityGsm开头的字段就是指基站信息。如图3所示,CellIdentityGsm字段内容中mMcc表示国家代码(中国的国家代码是460)、Mnc标识网络类型(移动的代码是1,联通的代码是0)、mLac标识基站的位置区域码、mCid标识基站编号。
备注:CellIdentityGsm代表是移动基站信息,如果是联通基站信息则字段名为CellIdentityWcdma。
DB数据库在IOS和Android应用大量采用,DB数据库文件用来存储App运行所需基本参数及运行中用户设置需要保存的数据。如图4所示,打开一个记录定位数据的DB数据库文件,loc字段为location缩写即含有位置信息的加密数据,time字段为Unix时间戳,经过一定的解密算法可以获取其中具体纬度、经度信息。
我们平时在用手机拍照或录制视频时可以设置是否保存当前位置,设置保存后拍摄的JPG 、MP4 、MOV等媒体文件属性中,就保存有拍摄时定位数据(如图5)。
【图5:来自iPhone拍摄的JPG媒体文件】
三、 如何利用第三方平台对定位点数据进行进一步解析和地图展示
通过以上对手机定位数据源进行提取和分析,可以得到手机定位点数据(其中,GPS定位数据结构为:时间、经度、纬度;基站数据结构为:时间、国家代码、网络号码、基站号,位置区域码)。针对这些手机定位点数据,通过第三方定位数据查询平台,如Google位置服务、百度位置解析API、LBS数据仓库、Haoservice、聚合数据等,可以对这些手机定位点数据进行进一步解析和地图展示。
备注:其中Google位置服务需结合VPN使用,百度API当前只能解析国内的位置信息,聚合数据等第三方专业数据接口供应商采用付费解析的方式解析。
下面,我们将以前面解析图1、图2、图3得到的3个定位点数据①GPS 点[时间2016/4/1 15:31:25,经度104.06245,纬度30.572313];②GPS点 [时间2015/7/15 15:31:25,经度104.063774,纬度30.570579] ;③基站点[时间2015/4/29 14:14:34,国家代码460,网络号码0,基站号37341,位置区域码33067]为例,介绍几种利用第三方平台进行进一步解析和地图展示的方法:
针对①GPS 点[时间2016/4/1 15:31:25,经度104.06245,纬度30.572313],可以利用百度地图API进行展示,其中formatted_address字段就是具体的街道位置(如图6)。
备注:利用百度地图API需要申请ak,这种方式适合后台程序调用API
【图6:百度地图API接口】
针对②GPS点 [时间2015/7/15 15:31:25,经度104.063774,纬度30.570579],可以采取网站结合地图方式进行展示。打开经纬度查询网站(http://www.gpsspg.com/maps.htm),在搜素栏中输入具体的经度、纬度,具体的街道位置便在地图上显示出来(如图7)。
备注:这种方式适合定位数据量小,需要快速获得定位点具体位置时使用。
【图7:网站结合地图方式】
针对③基站点[时间2015/4/29 14:14:34,国家代码460,网络号码0,基站号37341,位置区域码33067],可以利用第三方基站查询平台进行查询。这里,我们使用第三方查询平台“LBS数据仓储”进行查询,打开网址(http://api.cellocation.com/cell.html),在地图上方的输入框中填入基站点数据信息,查询即可看到该基站所在的具体街道位置和经纬度信息(如图8)。
2、【技术视界】第2期:精确读取 提高缺陷硬盘数据恢复成功率
3、【技术视界】第3期: 如何利用S.M.A.R.T.技术对硬盘进行健康体检?
4、【技术视界】第4期: 电子取证-WD硬盘固件损坏的文件恢复提取技术研究
5、【技术视界】第5期:电子取证——智能手机定位痕迹如何快速提取?
6、【技术视界】第6期:电子取证——日立硬盘BIOS加密无法访问的快速解密方法技术研究
7、【技术视界】第7期:手机取证-SQLite数据库文件恢复提取技术研究
9、【技术视界】第9期:视频侦查——不转码直接检索监控视频的方法探讨
10、【技术视界】第10期:电子取证— RAID 5、RAID 6崩溃的数据恢复取证提取技术研究
11、【技术视界】第11期:教你怎么编写智能手机APP的取证脚本
12、【技术视界】第12期:电子取证反向思维 防御手机APP偷窃破案机密的2个高招
13、【技术视界】第13期:希捷硬盘修复P表实现数据恢复的电子取证方法研究14、【技术视界】第14期:手机取证——关于iPhone手机数据提取方式的探讨
15、【技术视界】第15期:智能手机APP取证脚本编写续—iPhone数据提取与解析
16、【技术视界】第16期:视侦检索技术(一)——视频解码研究
17、【技术视界】第17期:电子取证— 360浏览器历史记录数据恢复提取方法
18、【技术视界】第18期:手机取证— 手机解锁不清除数据研究